home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / FAQs / SGIfaqs / Explorer-faq < prev    next >
Text File  |  1994-08-01  |  31KB  |  739 lines

  1.  
  2.           oOo Explorer Frequently Asked Question List oOo
  3.           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  4.                           Version 0.2 
  5.  
  6.                Last Altered 12th April 1992 - G.C.
  7.  
  8.            !!!!! Please Redistribute this Article !!!!!!
  9.  
  10. + Introduction +
  11. ~~~~~~~~~~~~~~~~
  12.  
  13. This document contains answers to some Frequently Asked Questions (FAQs)
  14. asked of the Explorer Modular Visualisation Environment (MVE). 
  15.  
  16. The latest update of this can always be obtained by FTP from :
  17.     UK Site : ftp.epcc.ed.ac.uk (129.215.56.29)
  18. (    US Mirror : swedishchef.lerc.nasa.gov (139.88.54.33)     )
  19.  
  20. If you wish to be part of the Explorer mailing list, comment on this
  21. FAQ, add/alter/CORRECT any questions, or have any suggestions, please
  22. email:
  23.     explorer-request@castle.ed.ac.uk, or
  24.     gordonc@epcc.ed.ac.uk
  25.  
  26. Where relevant and possible, the sources of information are listed after
  27. the answers - many of the questions stem from those on the mailing
  28. list. Direct quotes are indented.
  29.  
  30. N.B. The compilers of this FAQ are independent of SGI (developers of
  31. Explorer) - this also means that any inaccuracies are most probably our
  32. own faults ! Thanks to the XUG and the X FAQ for ideas.
  33.         - Gordon Cameron (Edinburgh Parallel Computing Centre)
  34.             gordonc@epcc.ed.ac.uk
  35.         - Chris Thornborrow, Matthew White (EPCC)
  36.  
  37. Key :
  38. ~~~~~
  39.     +    :    New since last update
  40.     *    :    Changed since last update
  41.     @    :    Bug question (+ fix)
  42.  
  43. + Topics +
  44. ~~~~~~~~~~
  45. A) TOPIC: GENERAL INFORMATION
  46.  A.1) What is Explorer ? 
  47.  A.2) What platforms will Explorer run on/what are the requirements ? 
  48.  A.3) How can I get Explorer ? 
  49.  A.4) Modules, Maps & Ports - What are they ? 
  50.  A.5) What is the Map Editor/Librarian ? 
  51.  A.6) What Data Formats can Explorer handle ? 
  52.  A.7) What is the Data Scribe ? 
  53.  A.8) What is the Module Builder ? 
  54.  A.9) What are the MCW and MDW ? 
  55.  A.10) What is an MVE ? 
  56.  A.11) What other MVEs are there ? 
  57.  A.12) Is there any overlap between ImageVision and Explorer ? 
  58. -
  59. B) TOPIC: RUNNING EXPLORER
  60.  B.1) Why does Explorer crash immediately ? +
  61.  B.2) Can I run Explorer on one machine and display on another ? 
  62.  B.3) Can I run modules on different machines ? 
  63.  B.4) How can I start Explorer with a prefined map ? 
  64.  B.5) Can I run Explorer in batch mode (i.e. without the GUI) ? 
  65.  B.6) Will Explorer work with very large data sets ? 
  66.  B.7) When does a module fire ? 
  67.  B.8) Why does Explorer run slowly on my system ? 
  68.  B.9) How can I customize the look of Explorer ? 
  69. -
  70. C) TOPIC: USING EXPLORER with the MAP EDITOR
  71.  C.1) Why does Explorer ignore all my input ? @
  72.  C.2) Why can't I start a GenerateColormap module ? 
  73.  C.3) How can I stretch the librarian scrolling list ? 
  74.  C.4) How can I slice into an iso-surface ? 
  75.  C.5) How can I render translucent solids ? 
  76.  C.6) Why can I not get LatFunction to work ? +@
  77. -
  78. D) TOPIC: USING THE DATASCRIBE
  79.  D.1) Why does the help file not reflect the actual widget ? @
  80. -
  81. E) TOPIC: USING THE MODULE BUILDER
  82. -
  83. F) TOPIC: PROGRAMMING MODULES
  84.  F.1) How can I wake Explorer on events ? 
  85.  F.2) What has happened to the routine cxInputPortStateGet ? @
  86. -
  87. G) TOPIC: MODULES AVAILABLE/WANTED
  88.  G.1) Where can I get PD modules ? +
  89. -
  90. H) TOPIC: FURTHER INFORMATION
  91.  H.1) Where can I obtain documentation (e.g. Module Writers' Guide) ? *
  92.  H.2) Is there a mailing list/FTP site ? *
  93.  H.3) Is there a relevant newsgroup ? 
  94.  H.4) Why are the electronic PostScript files incomplete ? *
  95. -
  96. I) TOPIC: MISCELLANEOUS
  97.  I.1) How can I add/correct or comment on Q&As on the FAQ ?
  98.  I.2) Where can I find a list of bugs ? +
  99. -
  100.  
  101. + Full Q&As +
  102. ~~~~~~~~~~~~~
  103. ======================================================================
  104. A) TOPIC: GENERAL INFORMATION
  105. ======================================================================
  106. A.1) What is Explorer ? 
  107.  
  108.     IRIS Explorer is an application creation system and user
  109.     environment that provides visualisation and analysis
  110.     functionality for computational scientists, engineers, and
  111.     other investigators. It is especially useful for those whose
  112.     needs are not met by commercial software packages. Also, IRIS
  113.     Explorer's Graphical User Interface (GUI) allows users to build
  114.     custom applications without having to write a single line of
  115.     code.
  116.  
  117.             [from IRIS EXPLORER - Technical Report(SGI)]
  118. ----------------------------------------------------------------------
  119. A.2) What platforms will Explorer run on/what are the requirements ? 
  120.  
  121. Explorer is included at no cost with each Silicon Graphics
  122. workstation.  Explorer can be ordered for existing workstations at a
  123. nominal media charge. It is also available from Cray Research for Cray
  124. Research computers, and it is hinted that the package will be ported
  125. soon(#:-} to other platforms.
  126.  
  127. On SGI platforms, requirements are that the machine have a 24 bit plane
  128. (or virtual 24 bit plane) frame buffer i.e. All except Personal Irises
  129. with 8 bit planes. In addition, 16MB is the minimum memory requirement,
  130. although 24 megs is recommended, especially when the data sets to be
  131. visualised are particularly large.
  132.  
  133. In particular, you must be running version 4.0.1 of the OS, or higher.
  134.  
  135.             [Leo Blume(SGI) and Release Notes for Explorer]
  136. ----------------------------------------------------------------------
  137. A.3) How can I get Explorer ?
  138.  
  139. Contact your local SGI supplier for details of what Explorer is available
  140. on, and how to obtain it.
  141. ----------------------------------------------------------------------
  142. A.4) Modules, Maps & Ports - What are they ? 
  143.  
  144. A MODULE is a single software tool for performing a particular task.
  145. Explorer is shipped along with a wide range of modules to perform tasks
  146. such as data input, rendering, image processing and manipulation. Each
  147. module has associated input and output PORTS which control the flow of
  148. data in and out of the module.
  149.  
  150. Modules are connected together to form pipelines which perform specific
  151. higher level tasks. The collection of such modules and the links between
  152. them are referred to as Explorer MAPS. The function of the map is implicitly
  153. defined by the functions of the modules and their interconnectivity.
  154. ----------------------------------------------------------------------
  155. A.5) What is the Map Editor/Librarian ? 
  156.  
  157. The Map Editor and Librarian are the two main windows that are used
  158. when you use Explorer.
  159.  
  160. The MAP EDITOR is a graphical tool for assembling the maps by picking
  161. modules and joining them together in an intuitive manner. The editor
  162. will only allow the connection of input/output port pairs of the same
  163. data type, so Explorer is a `strongly typed system'.  The map editor is
  164. effectively the interactive prototyping environment of Explorer.
  165.  
  166. The LIBRARIAN is the tool which allows you to browse through existing
  167. modules and maps, to choose those which you wish to use with the map
  168. editor.
  169. ----------------------------------------------------------------------
  170. A.6) What Data Formats can Explorer handle ? 
  171.  
  172. Explorer works on 5 main types of data :
  173.     Parameter : Scalar values such as integers and doubles.
  174.     Lattice : A Generalized multi-dimensional array.
  175.     Pyramid : Combines lattices with connectivity information in
  176.         a hierarchical structure.
  177.     Geometry: A general, hierarchical, geometric description.
  178.     Unknown : An uninterpreted stream of bytes 
  179.  
  180. The first four types will be consistent between modules perhaps
  181. executing on different machine architectures, whereas the last unknown
  182. type does not have this feature (unless the user adds XDR-like data
  183. conversion him/herself).
  184. ----------------------------------------------------------------------
  185. A.7) What is the Data Scribe ? 
  186.  
  187. The DataScribe is a graphical utility to allow the user to build
  188. templates which can convert data between formats - this is typically
  189. used to convert a customized user data file into a lattice(say) and
  190. vice versa.
  191.  
  192. These data conversion templates, when completed, constitute modules in
  193. Explorer which can be used in the same fashion as any other module.
  194. ----------------------------------------------------------------------
  195. A.8) What is the Module Builder ? 
  196.  
  197. The Module Builder is a graphical utility to aid in the creation of
  198. Explorer modules, by helping you define which data types the module has
  199. on its input and output ports, which widgets correspond to which
  200. parameters, and how the module will look when placed in the Map
  201. Editor.
  202.  
  203. The Module Builder can also automatically generate one of the extra
  204. layers of wrapping around the core function, namely the  Module Data
  205. Wrapper (MDW).
  206. ----------------------------------------------------------------------
  207. A.9) What are the MCW and MDW ?
  208.  
  209. The innermost layer of an Explorer module is the computational
  210. algorithm which provides the base functionality.  This is surrounded
  211. first by the Module Data Wrapper (MDW) - which can be generated
  212. automatically by the Module Builder - and this performs the conversion
  213. of data from Explorer format at ports to the algorithm's internal
  214. format, and vice versa.
  215.  
  216. The outermost layer is the Module Control Wrapper (MCW) which is the layer
  217. responsible for communicating the module's input and output (Explorer)
  218. data with other modules, and maintaining data consistency (a la XDR).
  219. This layer also handles comms with the local controller and the firing
  220. mechanism.
  221.  
  222. The MCW is necessary whereas the MDW may be bypassed by the programmer
  223. if desired, allowing direct access to data at the ports.
  224. ----------------------------------------------------------------------
  225. A.10) What is an MVE ? 
  226.  
  227. A Modular Visualisation Environment (MVE) is a package for data
  228. visualisation consisting of a user interface allowing linking of
  229. modules in a pipeline. Explorer is an example of an MVE.
  230.  
  231.             [ Chris Thornborrow, EPCC ]
  232. ----------------------------------------------------------------------
  233. A.11) What other MVEs are there ?  
  234.  
  235. Other MVEs include :
  236.     AVS - now marketed by AVS (see comp.graphics.avs)
  237.     apE - originally developed by Ohio Supercomputer Centre
  238.     Khoros - developed by University of New Mexico 
  239.         (see comp.soft-sys.khoros)
  240.  
  241. It would probably be more correct to define Khoros as a MAB (Module
  242. Application Builder) , as it is not aimed solely at visualisation. 
  243. ----------------------------------------------------------------------
  244. A.12) Is there any overlap between ImageVision and Explorer
  245.  
  246. ImageVision is an object oriented image processing library that
  247. currently has about 70 image processing functions. The architecture of
  248. ImageVision is designed to handle virtually any size and data typed
  249. image. The ImageVision library runs on all SGI machines and on a Cray.
  250.  
  251. The image processing modules of Explorer were developed using ImageVision,
  252. and these modules in Explorer map directly to single ImageVision objects.
  253.  
  254.                 [Nancy Cam - SGI]
  255. ======================================================================
  256. B) TOPIC: RUNNING EXPLORER
  257. ======================================================================
  258. B.1) Why does Explorer crash immediately ? 
  259.  
  260. The main reasons that Explorer will crash on startup (on an SGI machine)
  261. are :
  262.     a) Wrong OS
  263.     b) Incorrect installation
  264.  
  265. a) Explorer on an SGI requires IRIX v4.0.1 or later.
  266.  
  267. b) 
  268.  
  269.     If you use the "-r" option on "inst" when installing Explorer,
  270.     the X11 resource default files do not get installed correctly.
  271.  
  272.     Similarly, if you NFS mount /usr/explorer from a file server,
  273.     these default resource files are not installed on your
  274.     machine.  If you must install Explorer somewhere other than
  275.     /usr/explorer, first create /usr/explorer as a symbolic link to
  276.     a directory somewhere else, then install Explorer.  If you have
  277.     installed Explorer with "inst -r" or if you NFS mount it from
  278.     another machine, you can set up the necessary symbolic links
  279.     for the X11 app-default files and the shared libraries by using
  280.     the command (as root):
  281.         inst -f /usr/explorer/lib/inst/explorer 
  282.  
  283.     This will establish symbolic links in /usr/lib for those files
  284.     that must be present on every machine that runs Explorer.  This
  285.     is explained in section 2.3.1 of the Release Notes. (from SGI)
  286.  
  287.                 [SGI]
  288. ----------------------------------------------------------------------
  289. B.2) Can I run Explorer on one machine and display on another ? 
  290.  
  291. Explorer itself can run on one machine and display on ANY other machine
  292. running an X server. However, the modules Render and DisplayImg will
  293. only display/function on machines with GL hardware.
  294.  
  295. The Module Builder and Datascribe can run and display on any X terminal.
  296.  
  297. Since Explorer/Module Builder/DataScribe are X Motif applications, to
  298. get these to run externally and  display on your local workstation
  299. running an X server, set your display variable on the external machine
  300. before executing the program in the usual fashion. e.g.
  301. a) On Local Machine :
  302.     xhost +<remote_machine_name>
  303.  
  304. b) On Remote Machine :
  305.     setenv DISPLAY <local_machine_name>:0.0
  306.     explorer
  307. ----------------------------------------------------------------------
  308. B.2) Can I run modules on different machines ? 
  309.  
  310. Modules within an Explorer map can execute on different machines,
  311. provided that those machines have the execution environment of Explorer
  312. ported to them.  For example, in a network of 5 SGI w/stations, each of
  313. the 5 modules of an Explorer map can be running on a different
  314. workstation.  This is achieved by pulling up a librarian for each of
  315. the machines on which you wish to execute modules. The librarian for
  316. these machines will show which modules are available, and these can be
  317. placed in a map in the same manner in which local modules are placed.
  318. Everything will `look' the same, except that the remote modules will
  319. fire and execute on the remote machines - this could be referred to as
  320. a form of coarse grain parallelism.
  321.  
  322. At present, the execution environment is ported to SGI and Cray platforms,
  323. so modules can only execute on these machine types.
  324. ----------------------------------------------------------------------
  325. B.3) How can I start Explorer with a prefined map ? 
  326.  
  327. To run explorer with a predefined map, type :
  328.     explorer -map <mapname>
  329.  
  330. ,and the map will appear in the Map Editor when it starts up.
  331. ----------------------------------------------------------------------
  332. B.4) Can I run Explorer in batch mode (i.e. without the GUI) ? 
  333.  
  334.     Version 1.0 does not have a non-GUI capability.  There are
  335.     designs being kicked around, but we believe that a totally
  336.     non-GUI solution is not the full answer, since the "answer"
  337.     produced by an Explorer map may in fact be an image that you
  338.     want to view.  On the other hand, some Explorer maps may only
  339.     filter data, produce geometry into a file and not incorporate
  340.     viewing at all.  This "batch mode" would be useful for very
  341.     long animation runs, for example.
  342.  
  343.     Khoros also lets single modules to run "standalone".  We don't
  344.     see this as a requirement for Explorer, except that it could
  345.     make module debugging simpler -- one of our short-term goals.
  346.     Being able to debug a module without all of Explorer hanging
  347.     around would be really nice, especially as debugging tools take
  348.     more and more resources from the machine.
  349.  
  350.                 [ Bob Brown - SGI ]
  351. ----------------------------------------------------------------------
  352. B.5) Will Explorer work with very large data sets ? 
  353.  
  354. The easiest option if you have very large modules is to purchase more
  355. memory, but this only extends so far. 
  356.  
  357.     Large data sets:
  358.     This is a general weakness of data flow systems.  We have a few
  359.     ideas for helping out, but it becomes very complicated when you
  360.     want to preserve a conceptually simple programming model.  Can
  361.     we offer an alternative execution model (that is, how things
  362.     really compute and share data) yet maintain a simple
  363.     programming model (that is, how the user states what is
  364.     wanted).
  365.  
  366.                 [ Bob Brown - SGI ]
  367. ----------------------------------------------------------------------
  368. B.6) When does a module fire ?
  369.  
  370. Module inputs can be optional or required, and if the former then the module
  371. can happily fire without any input on that port. If the port is required,
  372. then a module won't fire until it has data on that port.
  373.  
  374. When new data arrives at a required port, then the module fires. 
  375.  
  376. Question:
  377.     We reckon that it would be `nice to have' a template matching
  378.     type operation at the input of each module, so that intelligent
  379.     decisions can be made as to WHEN to fire a module. e.g. don't
  380.     fire a module when ANY of its inputs change, but be able to
  381.     choose how a module will fire and how many of its inputs are
  382.     REQUIRED before a successful fire - this sort of thing would be
  383.     useful in animations involving multiple file reads.
  384.                 [ Gordon Cameron - EPCC ]
  385.  
  386. The reply :
  387.     We spent a lot of effort on this in the design phases, and came
  388.     up with an overly powerful scheme that would be practically
  389.     unusable, so it did not appear in V1.0.  The degree of
  390.     flexibility that can be offered seems too great, particularly
  391.     when youconsider the possibility of being able to
  392.     programmatically add and delete ports.
  393.  
  394.     Of course, using cxInputDataChanged judiciously will let you
  395.     essentially write your own inner firing rules.  However, this
  396.     may break future versions of the firing algorithm.  Also, if
  397.     you have a non-MDW module and never issue a cxInputDataGet call
  398.     on a port with new data, cxInputDataChanged will always report
  399.     that there is new data on the port.  You must use
  400.     cxInputDataGet to change the port data state from "new" to
  401.     "old".
  402.                 [ Bob Brown - SGI ]
  403. ----------------------------------------------------------------------
  404. B.7) Why does Explorer run slowly on my system ?
  405.                 [ Jack Gallant - Caltech ]
  406.  
  407.     The overhead of X windows and Motif is not insignificant.  Two
  408.     factors can really slow down Explorer: insufficient memory and
  409.     NFS mounting /usr/explorer.  The first one we can help out
  410.     with, but the second one is out of our hands for the most part
  411.     (having local copies of the shared libraries can help,
  412.     though).
  413.                 [ Bob Brown - SGI ]
  414. ----------------------------------------------------------------------
  415. B.8) How can I customize the look of Explorer ? 
  416.  
  417. Explorer, and the Data Scribe and Module Builder are all X/Motif
  418. applications, and have several resources which can be altered so that the
  419. tools' appearance can be customised. Look at the explorer directory
  420. [/usr/explorer]/lib/X11/app-defaults to see what's what. (The directory
  421. enclosed in square brackets is the home of Explorer on your system).
  422. ======================================================================
  423. C) TOPIC: USING EXPLORER with the MAP EDITOR
  424. ======================================================================
  425. C.1) Why does Explorer ignore all my input ? 
  426.  
  427. A possibility is that you have closed the main Explorer window, and an
  428. error has been generated - if you have closed the small gui window,
  429. then the error diagnostic will not appear on the screen, and the entire
  430. interface will appear to hang. However, opening the gui window again
  431. will rectify matters.
  432.  
  433.             [ Leo Blume - SGI ]
  434. ----------------------------------------------------------------------
  435. C.2) Why can't I start a GenerateColormap module ?
  436.  
  437. If you have applications running that have allocated colormap cells, then
  438. the number of cells available to GenerateColormap is reduced, so that only
  439. one (or perhaps no) GenerateColormap will be able to execute.
  440.  
  441. One way round this is to reconfigure the X server, and this is
  442. described in Appendix B of the User Guide (also supplied electronically
  443. with the release) - what you end up doing is in effect choosing a
  444. different visual.
  445. ----------------------------------------------------------------------
  446. C.3) How can I stretch the librarian scrolling list ?
  447.  
  448. You can't #:-} , at least not in Explorer 1.0
  449.             [ Roy Hashimoto - SGI ]
  450. ----------------------------------------------------------------------
  451. C.4) How can I slice into an iso-surface ?
  452.  
  453. Full Question :
  454.     I've tried orthoslice, it will move the slice plane into the
  455.     data but the full iso-surface is still there, the outside is
  456.     not cut away.
  457.                 [ Gus Williams ]
  458.  
  459. Answers:
  460.     The slices generated by Orthoslice won't cut away the
  461.     isosurface.  Orthoslice and IsosurfaceLat generate completely
  462.     independent geometry that is composited in the renderer.  It
  463.     might be nice, though, to have this capability in the future.
  464.  
  465.     For the present, you can use SampleCrop to do that or just
  466.     adjust the transparency on the isosurface so that you can see
  467.     through it to the cutting plane.
  468.                 [ Leo Blume - SGI ]
  469.  
  470.     ...you can use CropLattice to crop the
  471.     lattice before taking the isosurfaces.  I'm not sure how it
  472.     could be done any other way with the standard module set.
  473.                 [ Robert Skinner - SGI ]
  474. ----------------------------------------------------------------------
  475. C.5) How can I render translucent solids ?
  476.  
  477. You can pass your data through the module VolumetoGeom and then on to
  478. the Render module. VolumetoGeom makes use of a technique known as
  479. "splatting" to visualise volumes like this - a good reference is :
  480.  
  481.     Hierarchical Splatting: A Progressive Refinement Algorithm for
  482.     Volume Rendering by David Laur and Pat Hanrahan.
  483.  
  484. ..and this paper appeared at SIGGRAPH '91.
  485. ----------------------------------------------------------------------
  486. C.6) Why can I not get LatFunction to work ? 
  487.  
  488. Explorer has a known bug in LatFunction...The following is a long
  489. answer, and will be condensed in time.
  490.  
  491.  
  492. Problem a) - Why can I never get LatFunction to work?
  493.  
  494.     The problem is that if LatFunction's "Program File" typein does
  495.     not refer to an existing file, then the module's interpreter
  496.     gets confused and will never work correctly on any program file
  497.     thereafter.  Unfortunately, the empty string (the default when
  498.     LatFunction is brought up from the librarian) is such an
  499.     invalid name and will confuse the module.
  500.  
  501.     Thus, the symptom you will see is that the user instantiates a
  502.     LatFunction module, types in a file name, and gets errors. e.g.
  503.  
  504.         float f[2,3,4];
  505.         Second_Out := First_In;
  506.  
  507.     yields the error message :
  508.         [Unbound symbol: First_In]
  509.  
  510.     This identifies problem a) - when you instantiate LatFunction,
  511.     it tries to read file "" and fails.
  512.  
  513. Solution a)
  514.  
  515.     All you have to do is instantiate a LatFunction module
  516.     with the Program File name in place. You can do this by
  517.     duplicating the brain-dead LatFunction -- the new
  518.     LatFunction<2> will work as expected (delete the old module
  519.     after duplicating a new one).  You can also save the
  520.     LatFunction module with typed-in name in a map and load that
  521.     map.
  522.  
  523.     Also, LatFunction-based modules (see the MWG, chapter 4) are
  524.     less prone to this problem for two reasons. This makes them
  525.     easier to work with than plain LatFunction. The first reason is
  526.     that LatFunction-based modules typically have a filename
  527.     specified, so these will work even when dragged from the
  528.     librarian. The second :reason is that they typically have
  529.     required port data, so they will not fire when instantiated,
  530.     thus giving you time to type the right filename.
  531.  
  532.     ========================================================== 
  533.  
  534. Problem b) - Why does LatFunction give me the "[Unbound
  535.         symbol:...]" error message and refuse to work ?
  536.  
  537.     This is the same as problem a). The "[Unbound symbol: ...]"
  538.     message is LatFunction's way of saying that it is confused.
  539.  
  540. Solution b)
  541.  
  542.     As solution for Problem a).
  543.  
  544.     ========================================================== 
  545.  
  546. Problem c) - Why does LatFunction sometimes give an error
  547.     "[Unbound symbol:...]" on some line after I edit my
  548.     file, but then not give the error the next time I read
  549.     in the file?
  550.  
  551.     This is related to problems 1 and 2. In this case the parsed program
  552.     is referenced incorrectly and the interpreter exhibits the same type
  553.     of confusion as before. However, this error is recoverable by
  554.     reparsing the Shape program file (type <CR> in the "Program File"
  555.     typein). 
  556.  
  557. Solution c)
  558.     Reparse the Shape program file (type <CR> in the "Program File"
  559.     typein).
  560.                     [SGI]
  561.  
  562. ======================================================================
  563. D) TOPIC: USING THE DATASCRIBE
  564. ======================================================================
  565. D.1) Why does the help file not reflect the actual widget ?
  566.  
  567. In some cases, the DataScribe can get confused with consistency between
  568. .doc and .help files, but there is a workaround. The following Q&A from
  569. the list illustrates a specific example.
  570.  
  571. Original Question :
  572.     I created a module using the data scribe which had a file
  573.     browser widget. When I edited the .help file produced the
  574.     following lines were present ..
  575.  
  576.         pbmascii -- Text
  577.           <Describe the purpose of the widget here>
  578.  
  579.     Note that the widget is described as text, not file browser. Is
  580.     this deliberate - I can see how it would be as the file browser
  581.     widget is really an elaborate text widget ?
  582.                 [ Chris Thornborrow - EPCC ]
  583.  
  584. Solution :
  585.     This looks like a bug.  dot-help files are derived from dot-doc
  586.     files.  When you do a "Save" from the datascribe, it appears to
  587.     not rewrite the doc file (even if you changed a widget type,
  588.     say, from Text to File Browser) but it does regenerate the help
  589.     file from the doc file.
  590.  
  591.     I tried your example and that is what happened.  My guess is
  592.     that you had previously saved when "pbmascii" was really a Text
  593.     widget, then you changed it to a browser and saved again.
  594.  
  595.     Remove your dot-doc file and do a Save again from datascribe.
  596.     That should fix things up.  Or, if you've already edited the
  597.     doc file, bring up the module builder on your module and select
  598.     "Update Document" under the "Build" menu.
  599.                 [ Bob Brown - SGI ]
  600. ======================================================================
  601. E) TOPIC: USING THE MODULE BUILDER
  602. ======================================================================
  603. ======================================================================
  604. F) TOPIC: PROGRAMMING MODULES
  605. ======================================================================
  606. E.1) How can I wake Explorer on events ?
  607.  
  608.     I would like wake-up Explorer on the following event:
  609.         one descriptor is ready for reading/writing 
  610.                 [ F. Lapique ]
  611.  
  612. This has to be done using X directly. The following details how :
  613.  
  614.     In Version 1.0 Explorer the only way to do this is through X
  615.     windows.  Make your module an X module (in the Build
  616.     Options...  window in the module builder) and then you can use
  617.     the XtAddInput mechanism to register a callback procedure with
  618.     the scheduler.  The Xt manual describes how to use XtAddInput;
  619.     it is relatively simple and straightforward.  We don't have
  620.     code examples, but if you have trouble, let me know and I'll
  621.     write one up.  Another user has reported success at doing
  622.     this.
  623.  
  624.     Be aware that execution highlighting will not occur when your
  625.     callback is called.  This is because the module isn't "really"
  626.     firing.  In fact, you should not call cxOutputDataSet() or
  627.     cxOutputDataFlush() from the callback.  Instead, if you want to
  628.     send data downstream, use cxFireASAP() from the XtAddInput()
  629.     callback to schedule the firing of your computation routine,
  630.     and maintain some state that lets that routine know what's
  631.     what.
  632.  
  633.     The next version generalizes this mechanism by adding a
  634.     cxAddInput routine that works the same way, but doesn't
  635.     (necessarily) use X windows.  (We haven't announced a release
  636.     schedule for the next version).
  637.  
  638.                 [ Bob Brown - SGI ]
  639. ----------------------------------------------------------------------
  640. E.2) What has happened to the routine cxInputPortStateGet ?
  641.  
  642. There is no such routine, and it shouldn't appear in the documentation.
  643. To emulate the stated effect, do :
  644.  
  645. cxInputConnectsGet()    // To tell if port is connected
  646. cxInputDataGet()        // returns 0 for no data
  647. cxInputDataChanged()    // to find if data there is new or old
  648.  
  649.                 [ Dave Foulser - SGI ]
  650. ======================================================================
  651. G) TOPIC: MODULES AVAILABLE/WANTED
  652. ======================================================================
  653. G.1) Where can I get PD modules ?
  654.  
  655. There are a few modules available by anon. FTP, including one
  656. to enable/disable geometry information. Many more modules should
  657. appear very soon.
  658.  
  659. See the FAQ header for FTP addresses etc...
  660. ======================================================================
  661. H) TOPIC: FURTHER INFORMATION
  662. ======================================================================
  663. H.1) Where can I obtain documentation ? 
  664.  
  665. Compressed electronic copies of Postscript documents are supplied with
  666. the release of Explorer. Only certain chapters and an Appendix appear
  667. in the directory [/usr/explorer]/doc/userguide, though. You can obtain
  668. the complete User Guide, Module Writer's Guide and Module Definitions
  669. guide by getting in touch with SGI, who can supply bound copies.
  670.  
  671. The electronic source for the Module Writer's guide is now
  672. available by anon. FTP !! (see header for addresses)
  673.  
  674. The contact number I have for info on SGI is (415) 960-1980.
  675. ----------------------------------------------------------------------
  676. H.2) Is there a mailing list/FTP site ?
  677.  
  678. At present there is an Explorer mailing list for discussion on all aspects
  679. of the package. The list was started in March of '92, and has around 250
  680. subscribers (not including feeds) - several of the developers of Explorer
  681. are subscribed, so the list provides a good forum for discussion which may
  682. change the shape of future versions.
  683.  
  684. To join the list, or to get further details, send some mail to :
  685.     explorer-request@castle.ed.ac.uk
  686.  
  687. There is also an FTP site which contains archives of postings to the
  688. explorer mailing list, as well as many other things including a User
  689. List and an up to date FAQ(this!), and it is hoped that this site will
  690. develop into a store for PD modules in time. There are a few modules
  691. here just now, but many more are expected soon.
  692.  
  693. The site can be contacted as :
  694.     ftp.epcc.ed.ac.uk (129.215.56.29)
  695. , and supports anonymous FTP. The explorer directory is /pub/explorer.
  696.  
  697. In addition, Jeff Hanson has kindly mirrored this site in the US as :
  698.     swedishchef.lerc.nasa.gov (139.88.54.33))
  699. ----------------------------------------------------------------------
  700. H.3) Is there a relevant newsgroup ?
  701.  
  702. At present (31st March 1992) there is no newsgroup specifically for
  703. the discussion of Explorer-related issues, although this may well 
  704. change in the near future.
  705.  
  706. However, the groups comp.sys.sgi and comp.graphics.visualization are
  707. certainly useful, and often relevant #:-}
  708. ----------------------------------------------------------------------
  709. H.4) Why are the electronic PostScript files incomplete ? 
  710. The SGI Explorer is supplied with a directory /doc, which contains
  711. the userguide in PostScript form. This is missing Chapter 1 and the
  712. first Appendix. The explanation SGI give is as follows :
  713.  
  714.     Chapter 1 is the "Getting Started" guide that comes with the
  715.     Explorer CD or tape. The missing appendix contains the module
  716.     manual pages, which are accessible via the Unix "man" command.
  717.  
  718.     The release notes are on-line and can be viewed by using the
  719.     "grelnotes" command.
  720.  
  721.     The Module Writer's Guide is not in the software distribution
  722.     in this release because of differing production schedules for
  723.     the software and documentation.  It may be included in future
  724.     releases. (from SGI)
  725.  
  726. The Module Writers' Guide is now available by FTP in electronic
  727. version.
  728. ======================================================================
  729. I) TOPIC: MISCELLANEOUS
  730. ======================================================================
  731. I.1) How can I add/correct or comment on Q&As on the FAQ ?
  732.  
  733. Mail explorer-request@castle.ed.ac.uk . Simple ! 
  734.  
  735. I.2) Where can I find a list of bugs ? 
  736.  
  737. A few bugs are listed in this FAQ. Others can be found by looking
  738. at the file in the /pub/explorer/bugs directory at the FTP site.
  739.